Mobile device with enhanced telephone call information and a method of using same

ABSTRACT

A mobile device with enhanced telephone call information and a method of using same are provided. In accordance with one embodiment, there is provided a method of providing enhanced phone call information on a mobile communication device, comprising: receiving an incoming call on the device; identifying a contact name in an address book stored in a memory of the device in accordance with a phone number associated with the incoming call when the contact name is not provided with the incoming call; identifying a contact name in a remote contact source in accordance with a phone number associated with the incoming call when the contact name is not provided with the incoming call and not found in the address book stored in a memory of the device; and displaying the identified contact name in a user interface screen on a display screen of the device.

TECHNICAL FIELD

The present disclosure relates generally to mobile communications andmore particularly to a mobile device with enhanced telephone callinformation and a method of using same.

BACKGROUND

Mobile telephones and other mobile communication devices such as“smartphones” are increasingly provided with greater onboard informationand greater access to wireless services and information. However, forthe most part the information available to mobile telephones is not usedto enhance telephone calls. For instance, when an incoming call isreceived from an unknown caller, mobile telephones typically provide nomechanism to identify the caller before answering the call. Similarly,when a telephone user is seeking to make an outgoing call from a phoneapplication, mobile telephones typically require the user to input thetelephone number or for the telephone number to be present in a localaddress book of the mobile telephone. Thus, there remains a need formobile devices with enhanced telephone call information and methods ofusing the same.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a communication system includinga mobile communication device to which example embodiments of thepresent disclosure can be applied;

FIG. 2 is a block diagram illustrating a mobile communication device inaccordance with one example embodiment of the present disclosure;

FIG. 3A-E illustrate example dialing user interface screens for a phoneapplication for a mobile device in accordance with one exampleembodiment of the present disclosure;

FIG. 4 illustrates an incoming call user interface screen for a phoneapplication for a mobile device in accordance with one embodiment of thepresent disclosure;

FIG. 5 illustrates a call-in-progress user interface screen for a phoneapplication for a mobile device in accordance with one embodiment of thepresent disclosure;

FIG. 6 illustrates an email composition user interface screen for anemail application for a mobile device in accordance with one embodimentof the present disclosure;

FIG. 7 is a flowchart illustrating example method of providing enhancedtelephone call information for an outgoing call in accordance with oneexample embodiment of the present disclosure;

FIG. 8 is a flowchart illustrating example method of providing enhancedtelephone call information for an incoming call in accordance with oneexample embodiment of the present disclosure; and

FIG. 9 is a flowchart illustrating example method of providing enhancedemail information in accordance with one example embodiment of thepresent disclosure.

Like reference numerals are used in the drawings to denote like elementsand features.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

The present disclosure provides, in some embodiments, a mobile devicewith a phone application having integrated reverse telephone numberlookup for incoming calls and possibly forward telephone number lookupfor making outgoing calls. In other embodiments, there is provided amobile device with an email application having a directory service foremail address lookups. Such phone applications and email applicationsmay be implemented on the same mobile device for use in the appropriatecontext. Methods of using such mobile devices and communication systemswhich supports such devices and methods are also provided.

In accordance with one embodiment of the present disclosure, there isprovided a method of providing enhanced phone call information on amobile communication device, comprising: receiving an incoming call onthe device; identifying a contact name in an address book stored in amemory of the device in accordance with a phone number associated withthe incoming call when the contact name is not provided with theincoming call; identifying a contact name in a remote contact source inaccordance with a phone number associated with the incoming call whenthe contact name is not provided with the incoming call and not found inthe address book stored in a memory of the device; and displaying theidentified contact name in a user interface screen on a display screenof the device.

In accordance with another embodiment of the present disclosure, thereis provided a method of providing enhanced phone call information on amobile communication device, comprising: displaying a dialing userinterface screen on a display screen of the device, the dialing screenincluding a dialing field; receiving input via the dialing field;determining if a contact name in an address book stored in a memory ofthe device matches the input in the dialing field; determining if acontact name in a remote contact source matches the input in the dialingfield in response to respective input; and displaying one or morecontact names which match the input in the dialing user interfacescreen.

In accordance with a further embodiment of the present disclosure, thereis provided a method of providing enhanced email information on a mobilecommunication device, comprising: displaying an email composition userinterface screen on a display screen of the device, the emailcomposition user interface screen including at least one address field;receiving text input via the address field; identifying a contact namein an address book stored in a memory of the device in accordance withthe text input; identifying a contact name in a remote contact source inaccordance with the text input in response to respective input; anddisplaying one or more identified contact names in the email compositionuser interface screen.

In accordance with a further embodiment of the present disclosure, thereis provided a method of providing enhanced contact information on anelectronic device, comprising: displaying a user interface screen of anapplication on a display screen of the electronic device, the userinterface screen including a contact input field; receiving input viathe contact input field; determining if a contact name in an addressbook stored in a memory of the device matches the input in the contactinput field; determining if a contact name in a remote contact sourcematches the input in the contact input field; and displaying one or morecontact names which match the input in the user interface screen. Theelectronic device may be a mobile communication device such as ahandheld communication device. The user interface screen may be for acommunication application which, in some embodiments, could be a textmessaging application for sending SMS, MMS or other text messages, aninstant messaging (IM) application, chat application, or a personaladdress book. In some embodiments in which the application is an emailmessaging application, the user interface screen is an email compositionuser interface screen and the contact input field is an address field ofthe email composition user interface screen. In some embodiments, theremote contact source is only checked to determine if any contact namesmatch the input in the contact input field in response to respectiveinput. In some embodiments, the contact names are displayed together ina pop-up window which overlays at least a portion of the emailcomposition user interface. In some embodiments, the remote contactsource is a directory service. In some embodiments, two or more remotecontact sources are searched, the remote contact sources comprising (i)a global address book of a messaging server of a wireless connectorsystem associated with the device and (ii) a directory service.

In accordance with yet further embodiments of the present disclosure,there are provided mobile communication devices, comprising: acontroller for controlling the operation of the device; a display screenconnected to the controller; a communication subsystem connected to thecontroller configured for data and/or voice communication with awireless network; one or more input devices connected to the controller;the controller being configured to perform the methods described herein.

In accordance with yet further embodiments of the present disclosure,there is provided a messaging server and directory service forperforming lookup operations described herein. In accordance with yetfurther embodiments of the present disclosure, there is provided asystem comprising at least a mobile communication device and one or moreof a messaging server and directory service for performing lookupoperations described herein. In accordance with yet further embodiments,there are provided computer program products comprising a computerreadable medium carrying thereon executable program code for controllingthe above-mentioned electronic devices, the executable program codecausing the electronic devices to perform the methods described herein.

Reference is first made to FIG. 1 which shows in block diagram form acommunication system 100 in which example embodiments of the presentdisclosure can be applied. The communication system 100 comprises anumber of mobile communication devices (mobile devices) 201 which may beconnected to the remainder of system 100 in any of several differentways. Accordingly, several instances of mobile communication devices 201are depicted in FIG. 1 employing different example ways of connecting tosystem 100. Mobile communication devices 201 are connected to a wirelessnetwork 101 which may comprise one or more of a Wireless Wide AreaNetwork (WWAN) 102 and a Wireless Local Area Network (WLAN) 104 or othersuitable network arrangements. In some embodiments, the mobilecommunication devices 201 are configured to communicate over both theWWAN 102 and WLAN 104, and to roam between these networks. In someembodiments, the wireless network 101 may comprise multiple WWANs 102and WLANs 104.

The WWAN 102 may be implemented as any suitable wireless access networktechnology. By way of example, but not limitation, the WWAN 102 may beimplemented as a wireless network that includes a number of transceiverbase stations 108 (one of which is shown in FIG. 1) where each of thebase stations 108 provides wireless Radio Frequency (RF) coverage to acorresponding area or cell. The WWAN 102 is typically operated by amobile network service provider that provides subscription packages tousers of the mobile communication devices 201. In some embodiments, theWWAN 102 conforms to one or more of the following wireless networktypes: Mobitex Radio Network, DataTAC, GSM (Global System for MobileCommunication), GPRS (General Packet Radio System), TDMA (Time DivisionMultiple Access), CDMA (Code Division Multiple Access), CDPD (CellularDigital Packet Data), iDEN (integrated Digital Enhanced Network), EvDO(Evolution-Data Optimized) CDMA2000, EDGE (Enhanced Data rates for GSMEvolution), UMTS (Universal Mobile Telecommunication Systems), HSPDA(High-Speed Downlink Packet Access), IEEE 802.16e (also referred to asWorldwide Interoperability for Microwave Access or “WiMAX), or variousother networks. Although WWAN 102 is described as a “Wide-Area” network,that term is intended herein also to incorporate wireless MetropolitanArea Networks (WMAN) and other similar technologies for providingcoordinated service wirelessly over an area larger than that covered bytypical WLANs.

The WWAN 102 may further comprise a wireless network gateway 110 whichconnects the mobile communication devices 201 to transport facilities112, and through the transport facilities 112 to a wireless connectorsystem 120. Transport facilities may include one or more privatenetworks or lines, the public internet, a virtual private network, orany other suitable network. The wireless connector system 120 may beoperated, for example, by an organization or enterprise such as acorporation, university, or governmental department, which allows accessto a network 124 such as an internal or enterprise network and itsresources, or the wireless connector system 120 may be operated by amobile network provider. In some embodiments, the network 124 may berealised using the internet rather than an internal or enterprisenetwork.

The wireless network gateway 110 provides an interface between thewireless connector system 120 and the WWAN 102, which facilitatescommunication between the mobile communication devices 201 and otherdevices (not shown) connected, directly or indirectly, to the WWAN 102.Accordingly, communications sent via the mobile communication devices201 are transported via the WWAN 102 and the wireless network gateway110 through transport facilities 112 to the wireless connector system120. Communications sent from the wireless connector system 120 arereceived by the wireless network gateway 110 and transported via theWWAN 102 to the mobile communication devices 201.

The WLAN 104 comprises a wireless network which, in some embodiments,conforms to IEEE 802.11x standards (sometimes referred to as Wi-Fi) suchas, for example, the IEEE 802.11a, 802.11b and/or 802.11g standard.Other communication protocols may be used for the WLAN 104 in otherembodiments such as, for example, IEEE 802.11n, IEEE 802.16e (alsoreferred to as Worldwide Interoperability for Microwave Access or“WiMAX”), or IEEE 802.20 (also referred to as Mobile Wireless BroadbandAccess). The WLAN 104 includes one or more wireless RF Access Points(AP) 114 (one of which is shown in FIG. 1) that collectively provide aWLAN coverage area.

The WLAN 104 may be a personal network of the user, an enterprisenetwork, or a hotspot offered by an internet service provider (ISP), amobile network provider, or a property owner in a public or semi-publicarea, for example. The access points 114 are connected to an accesspoint (AP) interface 116 which may connect to the wireless connectorsystem 120 directly (for example, if the access point 114 is part of anenterprise WLAN 104 in which the wireless connector system 120 resides),or indirectly as indicated by the dashed line of FIG. 1 via thetransport facilities 112 if the access point 14 is a personal Wi-Finetwork or Wi-Fi hotspot (in which case a mechanism for securelyconnecting to the wireless connector system 120, such as a virtualprivate network (VPN), may be required). The AP interface 116 providestranslation and routing services between the access points 114 and thewireless connector system 120 to facilitate communication, directly orindirectly, with the wireless connector system 120.

The wireless connector system 120 may be implemented as one or moreservers, and is typically located behind a firewall 113. The wirelessconnector system 120 manages communications, including emailcommunications, to and from a set of managed mobile communicationdevices 201. The wireless connector system 120 also providesadministrative control and management capabilities over users and mobilecommunication devices 201 which may connect to the wireless connectorsystem 120.

The wireless connector system 120 allows the mobile communicationdevices 201 to access the network 124 and connected resources andservices such as a messaging server 132 (for example, a MicrosoftExchange™, IBM Lotus Domino™, or Novell GroupWise™ email server) havinga global address book 134, a directory service 138 having a contactdatabase 140, and other servers 142 such as a content server forproviding content such as internet content or content from anorganization's internal servers and an application server forimplementing server-based applications such as instant messaging (IM)applications to mobile communication devices 201. While only onedirectory service 138 is shown, it is contemplated that severaldirectory services 138 may be connected to the network 124 in someembodiments.

The global address book 134 comprises electronic contact records createdand maintained by an IT (information technology) administrator of thenetwork 124. Typically, the global address book is maintainedexclusively by the messaging server 132 and there is no local copy onthe mobile device 201. In addition, the global address book typicallycomprises contact records for all users of the respective network 124(e.g., enterprise). The contact records in the global address book 134may be one or more of individual contact records (or user records) or agroup address or distribution list which lists multiple individual(users).

The directory service 138 is implemented by a server which may or maynot be part of the network 124. The directory service 138 may bemaintained by an individual or enterprise for profit or made freelyavailable. In some embodiments, the directory service 138 may be aproprietary contact directory provided by the enterprise which managesthe network 124 which is separate from the messaging server 132. Thedirectory service 138 maintains a contact database 140 which compriseselectronic contact records for one or both of individuals andorganizations (such as businesses).

The contact database 140 comprises at least a name and telephone phonenumber, and possibly other contact information such as one or more of astreet address, email address, Skype™ address, IM address or identifier,SIP URI (Session Initiation Protocol Uniform Resource Identifier), andother contact information or personal details which may be stored in a“notes”, “details” or equivalent field storing so-called “extended”contact information. The contact database 140 may be provided by, or bebased on information from, publicly listed records from wired telephonecarriers (e.g., Plain Old Telephone Service (POTS) carriers),Voice-Over-IP (VOIP), or wireless telephone carriers. The contactdatabase 140 may be supplemented with, provided by, or based on contactinformation provided by alternative contact information sources whichmay provide more detailed contact information such as social networkingservices, business directory services, and the like. Typically, thecontact information provided by such alternative contact informationsources requires the consent of the respective individual ororganization (e.g. businesses) before contact information is madeavailable to the directory service 138. The directory service 138, in atleast some embodiments, provides reverse lookup functionality.

The wireless connector system 120 typically provides a secure exchangeof data (e.g., email messages, personal information manager (PIM) data,and IM data) with the mobile communication devices 201. In someembodiments, communications between the wireless connector system 120and the mobile communication devices 201 are encrypted. In someembodiments, communications are encrypted using a symmetric encryptionkey implemented using Advanced Encryption Standard (AES) or Triple DataEncryption Standard (Triple DES) encryption. Private encryption keys aregenerated in a secure, two-way authenticated environment and are usedfor both encryption and decryption of data.

The wireless network gateway 110 is adapted to send data packetsreceived from the mobile device 201 over the WWAN 102 to the wirelessconnector system 120. The wireless connector system 120 then sends thedata packets to the appropriate connection point such as the messagingserver 132, content server 132 or application servers 136. Conversely,the wireless connector system 120 sends data packets received, forexample, from the messaging server 132, content server 132 orapplication servers 136 to the wireless network gateway 110 which thentransmit the data packets to the destination mobile device 201. The APinterfaces 116 of the WLAN 104 provide similar sending functions betweenthe mobile device 201, the wireless connector system 120 and networkconnection point such as the messaging server 132, content server 132and application server 136.

The network 124 may comprise a private local area network, metropolitanarea network, wide area network, the public internet or combinationsthereof and may include virtual networks constructed using any of these,alone, or in combination.

A mobile device 201 may alternatively connect to the wireless connectorsystem 120 using a computer 117, such as desktop or notebook computer,via the network 124. A link 106 may be provided for exchanginginformation between the mobile device 201 and computer 117 connected tothe wireless connector system 120. The link 106 may comprise one or bothof a physical interface and short-range wireless communicationinterface. The physical interface may comprise one or combinations of anEthernet connection, Universal Serial Bus (USB) connection, Firewire(also known as an IEEE 1394 interface) connection, or other serial dataconnection, via respective ports or interfaces of the mobile device 201and computer 117. The short-range wireless communication interface maybe a personal area network (PAN) interface. A personal area network is awireless point-to-point connection meaning no physical cables arerequired to connect the two end points. The short-range wirelesscommunication interface may comprise one or a combination of an infrared(IR) connection such as an Infrared Data Association (IrDA) connection,a short-range radio frequency (RF) connection such as one specified byIEEE 802.15.1 or the Bluetooth™ special interest group, or IEEE802.15.3a, also referred to as UltraWideband (UWB), or other PANconnection.

It will be appreciated that the above-described communication system isprovided for the purpose of illustration only, and that theabove-described communication system comprises one possiblecommunication network configuration of a multitude of possibleconfigurations for use with the mobile communication devices 201. Theteachings of the present disclosure may be employed in connection withany other type of network and associated devices that are effective inimplementing or facilitating wireless communication. Suitable variationsof the communication system will be understood to a person of skill inthe art and are intended to fall within the scope of the presentdisclosure.

Reference is now made to FIG. 2 which illustrates a mobile device 201 inwhich example embodiments described in the present disclosure can beapplied. The mobile device 201 is a two-way communication device havingdata and voice communication capabilities, and the capability tocommunicate with other computer systems, for example, via the Internet.Depending on the functionality provided by the mobile device 201, invarious embodiments the device 201 may be a multiple-mode communicationdevice configured for both data and voice communication, a smartphone, amobile telephone or a PDA (personal digital assistant) enabled forwireless communication, or a computer system with a wireless modem.

The mobile device 201 includes a rigid case (not shown) housing thecomponents of the device 201. The internal components of the device 201are constructed on a printed circuit board (PCB). The mobile device 201includes a controller comprising at least one processor 240 (such as amicroprocessor) which controls the overall operation of the device 201.The processor 240 interacts with device subsystems such as acommunication subsystem 211 for exchanging radio frequency signals withthe wireless network 101 to perform communication functions. Theprocessor 240 interacts with additional device subsystems including adisplay (screen) 204 such as a liquid crystal display (LCD) screen,input devices 206 such as a keyboard and control buttons, flash memory244, random access memory (RAM) 246, read only memory (ROM) 248,auxiliary input/output (I/O) subsystems 250, data port 252 such asserial data port, such as a Universal Serial Bus (USB) data port,speaker 256, microphone 258, short-range communication subsystem 262,and other device subsystems generally designated as 264. Some of thesubsystems shown in FIG. 2 perform communication-related functions,whereas other subsystems may provide “resident” or on-device functions.

The device 201 may comprise a touchscreen display in some embodiments.The touchscreen display may be constructed using a touch-sensitive inputsurface connected to an electronic controller and which overlays thedisplay screen 204. The touch-sensitive overlay and the electroniccontroller provide a touch-sensitive input device and the processor 240interacts with the touch-sensitive overlay via the electroniccontroller.

The communication subsystem 211 includes a receiver 214, a transmitter216, and associated components, such as one or more antenna elements 218and 220, local oscillators (LOs) 222, and a processing module such as adigital signal processor (DSP) 224. The antenna elements 218 and 220 maybe embedded or internal to the mobile device 201 and a single antennamay be shared by both receiver and transmitter, as is known in the art.As will be apparent to those skilled in the field of communication, theparticular design of the wireless communication subsystem 211 depends onthe wireless network 101 in which mobile device 201 is intended tooperate.

The mobile device 201 may communicate with any one of a plurality offixed transceiver base stations 108 of the wireless network 101 withinits geographic coverage area. The mobile device 201 may send and receivecommunication signals over the wireless network 101 after the requirednetwork registration or activation procedures have been completed.Signals received by the antenna 218 through the wireless network 101 areinput to the receiver 214, which may perform such common receiverfunctions as signal amplification, frequency down conversion, filtering,channel selection, etc., as well as analog-to-digital (A/D) conversion.A/D conversion of a received signal allows more complex communicationfunctions such as demodulation and decoding to be performed in the DSP224. In a similar manner, signals to be transmitted are processed,including modulation and encoding, for example, by the DSP 224. TheseDSP-processed signals are input to the transmitter 216 fordigital-to-analog (D/A) conversion, frequency up conversion, filtering,amplification, and transmission to the wireless network 101 via theantenna 220. The DSP 224 not only processes communication signals, butmay also provide for receiver and transmitter control. For example, thegains applied to communication signals in the receiver 214 and thetransmitter 216 may be adaptively controlled through automatic gaincontrol algorithms implemented in the DSP 224.

The processor 240 operates under stored program control and executessoftware modules 221 stored in memory such as persistent memory, forexample, in the flash memory 244. As illustrated in FIG. 2, the softwaremodules 221 comprise operating system software 223, softwareapplications 225 comprising a phone application 270, an email messagingapplication (email application) 272, and a personal address book 274.

The personal address book 274 comprises electronic contact recordscreated by the device user which are stored on the mobile device 201 inmemory 244, and possibly in memory of the messaging server 132. A“local” copy of the personal address book 274 on the mobile device 201may be synchronized with a “network” or “enterprise” copy maintained bythe messaging server 132 so that the personal address book 274 may beaccessed by the device user on either the mobile device 201 or anenterprise computer 117, or another computer with remote access to thenetwork 124.

The phone application 270, email application 272, and personal addressbook 274 may, among other things, be implemented through a stand-alonesoftware application, or combined together in one or more of theoperating system 223 and applications 225. In some example embodiments,the functions performed by each of the phone application 270, emailapplication 272, and personal address book 274 may be realized as aplurality of independent elements, rather than single integratedelements, and any one or more of these elements may be implemented asparts of other software applications 225.

Those skilled in the art will appreciate that the software modules 221or parts thereof may be temporarily loaded into volatile memory such asthe RAM 246. The RAM 246 is used for storing runtime data variables andother types of data or information, as will be apparent to those skilledin the art. Although specific functions are described for various typesof memory, this is merely one example, and those skilled in the art willappreciate that a different assignment of functions to types of memorycould also be used.

The software applications 225 may include a range of applications,including, for example, an address book application, a messagingapplication, a calendar application, and/or a notepad application. Insome embodiments, the software applications 225 include an email messageapplication, a push content viewing application, a voice communication(i.e. telephony) application, a map application, and a media playerapplication. Each of the software applications 225 may include layoutinformation defining the placement of particular fields and graphicelements (e.g. text fields, input fields, icons, etc.) in the userinterface (i.e. the display screen 204) according to the application.

In some embodiments, the auxiliary input/output (I/O) subsystems 250 maycomprise an external communication link or interface, for example, anEthernet connection. The mobile device 201 may comprise other wirelesscommunication interfaces for communicating with other types of wirelessnetworks, for example, a wireless network such as an orthogonalfrequency division multiplexed (OFDM) network or a GPS (GlobalPositioning System) subsystem comprising a GPS transceiver forcommunicating with a GPS satellite network (not shown). The auxiliaryI/O subsystems 250 may comprise a pointing or navigational tool (inputdevice) such as a clickable trackball or scroll wheel or thumbwheel, ora vibrator for providing vibratory notifications in response to variousevents on the device 201 such as receipt of an electronic communicationor incoming phone call, or for other purposes such as haptic feedback(touch feedback).

In some embodiments, the mobile device 201 also includes a removablememory card 230 (typically comprising flash memory) and a memory cardinterface 232. Network access typically associated with a subscriber oruser of the mobile device 201 via the memory card 230, which may be aSubscriber Identity Module (SIM) card for use in a GSM network or othertype of memory card for use in the relevant wireless network type. Thememory card 230 is inserted in or connected to the memory card interface232 of the mobile device 201 in order to operate in conjunction with thewireless network 101.

The mobile device 201 stores data 227 in an erasable persistent memory,which in one example embodiment is the flash memory 244. In variousembodiments, the data 227 includes service data comprising informationrequired by the mobile device 201 to establish and maintaincommunication with the wireless network 101. The data 227 may alsoinclude user application data such as email messages, address book andcontact information, calendar and schedule information, notepaddocuments, image files, and other commonly stored user informationstored on the mobile device 201 by its user, and other data. The data227 stored in the persistent memory (e.g. flash memory 244) of themobile device 201 may be organized, at least partially, into a number ofdatabases each containing data items of the same data type or associatedwith the same application. For example, email messages, contact records,and task items may be stored in individual databases within the devicememory.

The serial data port 252 may be used for synchronization with a user'shost computer system (not shown). The serial data port 252 enables auser to set preferences through an external device or softwareapplication and extends the capabilities of the mobile device 201 byproviding for information or software downloads to the mobile device 201other than through the wireless network 101. The alternate download pathmay, for example, be used to load an encryption key onto the mobiledevice 201 through a direct, reliable and trusted connection to therebyprovide secure device communication.

In some embodiments, the mobile device 201 is provided with a servicerouting application programming interface (API) which provides anapplication with the ability to route traffic through a serial data(i.e., USB) or Bluetooth® (Bluetooth® is a registered trademark ofBluetooth SIG, Inc.) connection to the host computer system usingstandard connectivity protocols. When a user connects their mobiledevice 201 to the host computer system via a USB cable or Bluetooth®connection, traffic that was destined for the wireless network 101 isautomatically routed to the mobile device 201 using the USB cable orBluetooth® connection. Similarly, any traffic destined for the wirelessnetwork 101 is automatically sent over the USB cable Bluetooth®connection to the host computer system for processing.

The mobile device 201 also includes a battery 238 as a power source,which is typically one or more rechargeable batteries that may becharged, for example, through charging circuitry coupled to a batteryinterface such as the serial data port 252. The battery 238 provideselectrical power to at least some of the electrical circuitry in themobile device 201, and the battery interface 236 provides a mechanicaland electrical connection for the battery 238. The battery interface 236is coupled to a regulator (not shown) which provides power V+ to thecircuitry of the mobile device 201.

The short-range communication subsystem 262 is an additional optionalcomponent which provides for communication between the mobile device 201and different systems or devices, which need not necessarily be similardevices. For example, the subsystem 262 may include an infrared deviceand associated circuits and components, or a wireless bus protocolcompliant communication mechanism such as a Bluetooth® communicationmodule to provide for communication with similarly-enabled systems anddevices.

A predetermined set of applications that control basic deviceoperations, including data and possibly voice communication applicationswill normally be installed on the mobile device 201 during or aftermanufacture. Additional applications and/or upgrades to the operatingsystem 221 or software applications 225 may also be loaded onto themobile device 201 through the wireless network 101, the auxiliary I/Osubsystem 250, the serial port 252, the short-range communicationsubsystem 262, or other suitable subsystem 264. The downloaded programsor code modules may be permanently installed, for example, written intothe program memory (i.e. the flash memory 244), or written into andexecuted from the RAM 246 for execution by the processor 240 at runtime.Such flexibility in application installation increases the functionalityof the mobile device 201 and may provide enhanced on-device functions,communication-related functions, or both. For example, securecommunication applications may enable electronic commerce functions andother such financial transactions to be performed using the mobiledevice 201.

The mobile device 201 may provide two principal modes of communication:a data communication mode and an optional voice communication mode. Inthe data communication mode, a received data signal such as a textmessage, an email message, or Web page download will be processed by thecommunication subsystem 211 and input to the processor 240 for furtherprocessing. For example, a downloaded Web page may be further processedby a browser application or an email message may be processed by theemail messaging application 272 and output to the display 204. A user ofthe mobile device 201 may also compose data items, such as emailmessages, for example, using the input devices in conjunction with thedisplay screen 204. These composed items may be transmitted through thecommunication subsystem 211 over the wireless network 101.

In the voice communication mode, the mobile device 201 providestelephony functions and operates as a typical cellular phone. Theoverall operation is similar, except that the received signals would beoutput to the speaker 256 and signals for transmission would begenerated by a transducer such as the microphone 258. The telephonyfunctions are provided by a combination of software/firmware (i.e., thevoice communication module) and hardware (i.e., the microphone 258, thespeaker 256 and input devices). Alternative voice or audio I/Osubsystems, such as a voice message recording subsystem, may also beimplemented on the mobile device 201. Although voice or audio signaloutput is typically accomplished primarily through the speaker 256, thedisplay screen 204 may also be used to provide an indication of theidentity of a calling party, duration of a voice call, or other voicecall related information.

FIG. 3A illustrates a first dialing user interface screen 302 for thephone application 270 on the mobile device 201 in accordance with oneembodiment of the present disclosure. The dialing screen 302 includes adialing field 322 for entry of an input comprising a telephone number orcontact name of a party to be called. The dialing field 322, in at leastsome embodiments, is the active field of the dialing screen 302 when itis invoked (i.e., it is the default active field). A text cursor 323(sometimes referred to as a caret) is provided within the dialing field322. The text cursor 323 is an onscreen indicator used to show aposition on the display 204 which responds to text input andnavigational input from the input and navigational input devices of thedevice 201, respectively. As will be appreciated by persons skilled inthe art, text input via the respective input devices will cause theprocessor 240 to display corresponding text at the position of thecursor 323, and navigational input from respective navigational inputdevices will cause the processor 240 to move the text cursor 323 withinthe dialing field 322 or between selectable fields of the dialing screen302.

In the shown embodiment, the dialing screen 302 also includes a statusbar 312 which displays information such as the current date and time,icon-based notifications, device status and/or device state. While thestatus bar 312 is shown at the top of the dialing screen 302 in theillustrated embodiment, in other embodiments the status bar 312 may belocated elsewhere such as at the bottom of the dialing screen 302 or maybe omitted. The status bar 312 is typically non-selectable.

The dialing field 322, in at least some embodiments, concurrentlyinterprets both letter and number text inputs. In some embodiments,inputs in the dialing field 322 will be interpreted as numbers in aphone number for direct dialing unless a key outside of a number area ofthe keyboard is depressed (i.e., unless a key which is not associatedwith a number is depressed). For example, some mobile devices have fullkeyboards in which some keys are associated with a number and one ormore letters, and some keys are associated with one or more letters butno number (but, possibly, a symbol or function or other input). In suchembodiments, the dialing field 322 may interpret both letter and numberinputs as possibilities until there is a sufficient number of charactersinput to determine whether a telephone number or contact name is beinginput into the dialing field 322.

In some embodiments where the keys of the mobile device have at leastone number and at least one letter, the dialing field 322 prefersnumbers to letters and interprets all characters input in the field 322as numbers until a key which is not associated with a number (e.g., aletter key) is depressed. In other embodiments, the dialing field 322could prefer letters to numbers with the opposite result.

In yet other embodiments, the dialing field 322 could interpret allinputs as alphanumeric inputs. That is, all numbers and lettersassociated with the depressed keys are considered as possibilities. Insome embodiments, this alternative mode can be initiated using the keycombination of ALT+letter in the dialing field 322. This key combinationinstructs the dialing field 322 and telephone application 270 that theinput comprises numbers and letters, i.e. “1800BLACKBERRY”.Alternatively, in yet other embodiments the alternative mode could beinitiated using a menu option via corresponding interaction with a menuof the user interface, or could be initiated using a “hot key” (apredefined key which triggers an alternative function when held down fora predetermined duration).

The manner in which the dialing field 322 interprets inputs may be basedon a preference setting on the mobile device and may be changed by theuser during use, for example, by using a predetermined key combinationwhile the dialing field 322 is active. That is, the user can switchbetween any two or more of the described input modes of the dialingfield 322 based on corresponding input. Touchscreen-based devices havinga similarly configured virtual keyboard may operate in a similar fashionwhen corresponding virtual keys are activated.

The dialing screen 302 also includes a contact window 324 which displaysa list of contacts 326 which match the input in the dialing field 322.The number of contacts 326 which match the input in the dialing field322 may exceed the number of references which can fit within the window324. In such cases, the contact window 324 may be scrollable so thatcontact records which are not shown in the contact window 324 can bedisplayed and reviewed by the device user. A scroll bar (not shown) maybe provided as an indication of the availability of scrolling, as wellas providing a scrolling mechanism and an indication of the relativesize of the list of contacts 326.

The phone application 270 performs a local lookup operation in which theinput of the dialing field 322 is compared to electronic contact recordsin a personal address book 274 stored in memory 244. As the input in thedialing field 322 changes (e.g., more characters are added or charactersare removed or changed), the phone application 270 re-compares the inputin the dialing field 322 to the electronic contact records in thepersonal address book 274 to dynamically generate the list of contacts326 based on the input in the dialing field 322. As noted above, thepersonal address book 274 comprises electronic contact records eachcomprising one or more fields. The personal address book 274 is createdby the device user and stored in the memory 244 of the mobile device201, and possibly in memory of the messaging server 132. The “local”copy of the personal address book 274 on the mobile device 201 may besynchronized with a “network” or “enterprise” copy maintained by themessaging server 132.

The contact window 324 also includes a lookup field 328 for performing alookup of one or both of a global address book 134 (also referred to asa network or enterprise address book) and a directory service 138,depending on the embodiment and the services available to the network124. As noted above, the global address book 134 comprises electroniccontact records each comprising one or more fields. The global addressbook 134 is created and maintained by an IT administrator of the network124. Typically, the global address book is maintained exclusively by themessaging server 132 and there is no local copy on the mobile device201. The directory service 138 maintains a contact database 140 whichcomprises electronic contact records each comprising one or more fieldsfor one or both of individuals and organizations (such as businesses).

The lookup field 328, in at least some embodiments, is automaticallypopulated with the input from the dialing field 322 (the input “H” isillustrated in FIG. 3A). In some embodiments, the lookup field requiresinput to perform a lookup operation. That is, while the input from thedialing field 322 is automatically populated in the lookup field 328,the lookup operation itself is not performed without input to performthe operation. In some embodiments, the user can change the active fieldto be the lookup field 328 by corresponding navigational input via thenavigational input device, for example by moving a scroll wheel ortrackball downwards towards the lookup field 328 from the dialing field322, or using corresponding directional input via a touchscreen. Inother embodiments, the input of the lookup field 328 must be inputdirectly via respective user input.

FIG. 3B illustrates a second dialing screen 302 similar to the displayscreen in FIG. 3A, except that the lookup field 328 is now the activefield and more input characters have been added to the dialing field 322(the contact name “Heather” is now input as illustrated in FIG. 3B). Anindication that the lookup field 328 is the active field is provided byhighlighting the lookup field 328. In the shown embodiment, highlightingcomprises changing the colour of the background and the colour of thetext of the lookup field 328. In particular, the colour of thebackground is changed to blue (from white) and the colour of the text ischanged to white (from black). In other embodiments, only one of thebackground colour and text colour may be changed. In other embodiments,different colours may be used as the default background colour and textcolour, and different colours may be used as the highlighted backgroundcolour and text colour.

In some embodiments, activating or selecting the active (highlighted)lookup field 328 instructs the mobile device 201 to perform a lookupoperation on the input in the lookup field 328 (the contact name“Heather” in FIG. 3B) in the global address book 134 and/or using thedirectory service 138.

In performing the lookup operation, the mobile device 201 may query oneor both of the global address book 134 of the messaging server 132 orthe contact database 140 of the directory service 138 depending on thesystem configuration and the settings. When performing a lookup of theglobal address book 134, the mobile device 201 contacts the messagingserver 132 and requests that it compare the lookup field input to thecontact records in the global address book 134, determine which contactrecords match the lookup field input, and return contact information tothe mobile device 201 about the contact records in the global addressbook 134 which match the lookup field input. The comparison may be basedon one or more of the fields of the contact records in the globaladdress book 134. The comparison is typically based on at least the namefield of the contact records, but could also be performed on otherfields of the contact records such as organization/company.

When performing a lookup of the contact database 140 of the directoryservice 138, the mobile device 201 contacts directory service 138 andrequests that it compare the lookup field input to the contact recordsin the contact database 140, determine which contact records match thelookup field input, and return contact information to the mobile device201 about the contact records in the contact database 140 which matchthe lookup field input. The comparison may be based on one or more ofthe fields of the contact records in the contact database 140. Thecomparison is typically based on at least the name field of the contactrecords, but could also be performed on other fields of the contactrecords such as organization/company.

The directory service 138 may be a reverse lookup (directory) service orreverse lookup such as 411.com or 411.ca, any other address/directoryservice for individual, businesses or both. The directory service ispreferably a telephone directory service for telephones (whethercellular, POTS landline or VOIP phones), but may be any other businessor individual contact directory maintaining a listing of individualsand/or business having at least name and telephone numbers.

As seen in FIG. 3C, the returned contact information 329 from themessaging server 132 and/or directory service 138 comprises at least thename and telephone number of the matching records, and possiblysupplemental information such as a department or title, company ororganization, address or other contact information. The returned contactinformation 329 may be in the form of contact records, which may be areduced or optimized format of the contact records in the global addressbook 134 or contact database 140 which is suitable for and compatiblewith the personal address book 274. Alternatively, the returned contactinformation 329 may be the same format as that in the global addressbook 134 or contact database 140, or may be unformatted (e.g., plaintext) information.

In some embodiments, the returned contact information 329 may be addedto the personal address book 274 via respective user input. The returnedcontact information 329 may create a new contact record if one alreadyexists in the personal address book 274, replace the existing contactrecord, or update the existing contact record to include the new ordifferent information. A prompt may be provided when a contact recordalready exists in the personal address book 274. The prompt requestsuser input as to which one of any two or more of following operationsshould be performed: replacing the contact record; updating the contactrecord; adding a new contact record; cancelling the operation.

The name 408 (FIG. 4) and possibly additional contact informationreturned from the remote lookup operation is displayed in the contactwindow 324. FIGS. 3C and 3D illustrates two different embodiments of adialing screen 302 with returned contact information 329 from a remotelookup operation. FIG. 3C illustrates the returned contact information329 in the contact window 324 in combination with the list of contacts326 from the personal address book 324. FIG. 3D illustrates the returnedcontact information 329 in the contact window 324 on its own without thelist of contacts 326 from the personal address book 324. In both FIGS.3C and 3D, additional contact information in the form of a location ofthe contact is displayed (in the form of city, province/state in theshown embodiment). In other embodiments, other or different additionalcontact information, or no additional contact information may be used.The additional contact information provides additional information fromwhich the user can select from the contact information returned from thelookup operation of the remote/external contact sources.

In some embodiments, the returned contact information 329 may include anindication of the source of the contact information, for example asbeing either from the personal address book 274 or a remote contactresource, or providing an indication of whether the source is thepersonal address book 274, global address book 134 or contact database140. The indication may be provided by any suitable means such as a textlabel and/or by using a suitable colour coding scheme for the backgroundand/or text of the respective fields. In some embodiments, each contactname is highlighted with a different colour which represents the sourceof the contact name. One colour may be used to highlight contact namesfrom the personal address book 274 so that the user knows the contact isalready a stored contact and there is no need to add the contact to thepersonal address book 274. A different colour may be used to highlightcontact names from the remote contact sources, possibly using adifferent colour for the global address book 134 and contact database140.

From the user interface screens of either FIG. 3C or 3D, the user canselect a contact record in the contact window 324 as the active field bycorresponding navigational input via the navigational tool, for exampleby moving a scroll wheel or trackball downwards towards the desiredfield, or using corresponding directional input via a touchscreen.Activating or selecting the active (highlighted) contact record from thecontact window 324 instructs the mobile device 201 to initiate anoutbound call to the respective contact. FIG. 3E illustrates theselection of the contact “Heather Barron” of Oakville, Ontario from thescreen of FIG. 3D. A contact could also be selected from the dialingscreen of FIG. 3C in a similar manner. In other embodiments, thecontacts could be listed with a corresponding number beside or otherwiseassociated with the displayed contact names. The phone application 270is configured so that the phone number associated with a displayedcontact name can be selected and dialed by depressing the number key forthe number of one of the displayed contact names. For example, thefollowing could be presented in the contact window 324:

-   1. Donna MacDonald-   2. Donna MacDonn-   3. Donna MacDono-   4. Donna MacDonz-   5. Donna Nice-   Depressing the “5” key (which could be shared with one or more    letters and/or other inputs) in the keyboard would initiate a    selection of a contact Donna Nice in the contact list 326 and dial    the telephone number for that contact.

In some embodiments, if the mobile device 201 has a GPS subsystem (forexample, as part of the auxiliary I/O subsystems 250), upon receiving aninstruction to perform an external lookup operation the mobile device201 may determine its current location using the GPS subsystem and sendthe location information to the messaging server 132 and/or directoryservice 138 with the input of the lookup field 328 to be used incombination when determining which contacts in the global address book134 and contact database 140 match. That is, the location information isused as a secondary criteria or filter. The location information iscompared to address information about the contacts in the global addressbook 134 and/or contact database 140 so that only contacts in the samelocation of the mobile device 201 are selected and returned. Thecriteria for “same location” could be the same city, same state orprovince, or within a predetermined distance from the current locationfor the mobile device 201, for example within 40 km. The city associatedwith the contact may be a convenient and easy to use criterion fordetermining whether the contact record matches the location of themobile device 201. The criteria may be definable and/or selectable bythe user.

It will be appreciated that the above described embodiments reduce datacharges by performing remote lookup operations only when requested basedon user input. In other embodiments, the remote lookup operation may beperformed automatically without user input while the user enters inputin the dialing field 322. This increases the amount of contactinformation available to the user before making an outgoing call;however, this requires performing the requisite mobile data accessbefore each call. In such embodiments, the returned contact information329 may be displayed in the contact window 324 in combination with thelist of contacts 326 from the personal address book 274 similar to thedialing screen shown in FIG. 3C.

Referring now to FIG. 7, an example method of providing enhancedtelephone call information for an outgoing call in accordance with oneexample embodiment of the present disclosure will be described.Operations 700 of the method are carried out by the processor 240 of themobile device 201 under the instruction of the phone application module270 when the phone application is the active application on the device201. The dialing screen 302 shown above is the main (default) screen ofthe phone application 270 when invoked when there is no incoming call.

The phone application 270 receives an input in the dialing field 322(step 702) via respective input via one or more input devices. The phoneapplication 270 populates the lookup field 328 with the input of thedialing field 322 and performs a local lookup operation of the personaladdress book 274 (step 704) using the lookup field input as the searchterm. The contact information about contact records in the personaladdress book 274 which match the search term are then displayed in thecontact window 324 (see, for example, FIG. 3A).

Next, the phone application 270 receives an input request to perform aremote lookup operation on the input of the lookup field 328 (step 706).Optionally, in some embodiments, if the mobile device 201 has a GPSsubsystem the mobile device 201 determines its current location usingthe GPS subsystem (step 708). As noted above, in other embodiments theremote lookup operation may be performed automatically without userinput while the user enters input in the dialing field 322 in the samemanner as with the personal address book 274.

Next, a lookup operation of the remote contact sources (i.e., the globaladdress book 134 and/or contact database 140) is performed (step 710).As described, this step comprises the processor 240 instructing themessaging server 132 and/or directory service 138 to perform a lookup ofthe respective contact information stores. The instructions include atleast the input in the lookup field 328 as the basis for thesearch/lookup. If the mobile device 201 has a GPS subsystem and themobile device 201 determined its current location using the GPSsubsystem in step 708, the instructions also include the locationinformation. Other sources of location information such as triangulationvia base stations 108 or location services may be used in otherembodiments.

Next, the remote contact sources, i.e. the messaging server 132 and/ordirectory service 138, perform a lookup operation using the lookup fieldinput and optionally location information as search terms. The remotecontact sources then determine which contact records match the lookupfield input and optionally location information.

Next, contact information from contact records in the global addressbook and/or contact database 140 which match the search criteria arereturned to the mobile device 201. The returned contact information 329is then displayed in the contact window 324, typically with the list ofcontacts 326 from the personal address book 274 (step 712).

It will be appreciated that more than one contact name can be found. Themultiple contact names can come from the personal address book 274, theremote contact sources, or both. When multiple contact names areidentified from the personal address book 274 and/or remote contactsources, the multiple contact names are displayed in an order selectedin accordance with a predetermined rule. The predetermined rule may bethat the contact names are displayed in descending order based on theclosest match (based on name comparison), based on the most commonlyused (based on a usage log maintained by the mobile device), or otherbasis. A preference setting may also be provided for the user to specifyhis or her preferences.

When an outgoing call is placed by selecting a contact from the contactwindow 324, for example from the list of contacts 326 from the personaladdress book 274 or returned contact information 329, and correspondinginput to place a call to the selected destination number, the outgoingcall is initiated and a calling user interface screen (not shown) isdisplayed on the display screen 204 (step 714). The input to place acall to the highlighted/selected contact may be depressing a “call” or“dial” button (not shown) or causing a phone application menu to appearand selecting a menu item requesting the mobile device to place a callto the highlighted/selected contact. The calling user interface screenis similar to the incoming-call screen 402 (shown in FIG. 4) with adifferent notification in the notification field 403 (i.e., including anotification in the notification field that an outbound call isin-progress such as the text “Calling”), and includes call informationin a call information field 404 which comprises at least the telephonenumber 406 and name 408. When the contact is from the returned contactinformation 329, the telephone number 406 and name 408 are that obtainedfrom the remote contact sources.

Next, the caller information is optionally added to the call log (step716). This step is optional and need not be performed in allembodiments.

Next, the caller information is optionally added to the personal addressbook (step 718), typically in response to corresponding user input, suchas causing a phone application menu to appear and selecting a menu itemrequesting the mobile device to add the contact to the personal addressbook 274. This step is optional and need not be performed in allembodiments.

It will be appreciated that in the operations 700 contact information isonly returned to the phone application 270 when a phone number isdefined for a contact record regardless of whether other contactinformation such as the contact name matches the search terms used inthe lookup. This applies to both local lookup operations and remotelookup operations.

FIG. 4 illustrates an incoming call user interface screen 402 for thephone application 270 on the mobile device 201 in accordance with oneembodiment of the present disclosure. The incoming call screen 402includes a notification field 403 which provides a notification thatthere is an incoming call and a call information field 404 whichincludes a telephone number 406 (1-999-555-1234 in the shown screen) anda name 408 (Heather Barron in the shown screen) associated with theincoming call. As will be appreciated by person skilled in the art, theincoming phone number 406 is provided by the carrier associated with thenumber and passed to the wireless network 101 where it is included inthe radio layer.

When an incoming call is received on the mobile device 201, the incomingphone number 406 is provided to the mobile device 201 in the radio layerby the wireless network 101. If call identification (ID) blocking hasbeen applied to the incoming call by the caller, the mobile device 201is prevented from displaying the telephone number or using the telephonenumber, in which case no telephone number or name are displayed.Typically, the mobile device 201 is configured not to display thetelephone number when caller ID blocking is in effect to comply withlegal requirements rather than being technically incapable of doing so.When incoming call name is private or not known, or when call IDblocking has been applied to the incoming call, “Private”, “PrivateName” or similar text may be displayed in the incoming call userinterface screen 402.

The name of the caller may be omitted from the radio layer for one ormore of several reasons which are not relevant to the presentdisclosure. In some embodiments, the processor 240 under theinstructions of the phone application 270 performs a lookup in thepersonal address book 274 when no name is provided with the incomingcall. Alternatively, in other embodiments a lookup may be performed onthe personal address book 274 regardless of whether a name is providedwith the incoming call. These embodiments allow contact information inthe personal address book 274 to override any name provided with theincoming call so that the displayed name 408 matches personalpreferences of the device user as evidence by the name in the contactrecord.

The lookup comprises comparing the telephone number 406 provided withthe incoming call (e.g., in the radio layer) to phone numbers stored inthe contact records of the personal address book 274. When a contactrecord which matches the telephone number 406 is found in the personaladdress book 274, the corresponding name of a contact record isdisplayed in the incoming call screen 402, possibly along with extendedcontact information 410 (i.e., contact information in addition to thephone number 406 and name 408).

As described above, the extended contact information 410 may compriseany one or more of a street address, email address, Skype™ address, IMaddress or identifier, SIP URI, or other contact information or details.The extended contact information 410 may be obtained from the personaladdress book 274, or from the global address book 134 or contactdatabase 140 maintained by the directory service 138 in response to aremote lookup described below.

In some embodiments, when there is no matching record in the personaladdress book 274, a remote lookup is performed on one or both of theglobal address book 134 maintained by the messaging server 132 and thecontact database 140 maintained by the directory service 138. Thedirectory service 138 used in combination with an incoming call istypically a reverse lookup (directory) service such as www.411.com orwww.411.ca, etc.). In some embodiments, a remote lookup is performed onthe global address book 134 only when there is no matching record in thepersonal address book 274. Only when there is no matching record in theglobal address book 134, a remote lookup is performed on the contactdatabase 140 maintained by the directory service 138.

As with lookups performed from the dialing screen 302, when performing alookup in response to an incoming call, the mobile device 201 contactsmessaging server 132 and/or directory service 138 and requests that itcompare the telephone number 406 to the contact records in the globaladdress book 134 and contact database 140 respectively, determine whichcontact records match the telephone number 406, and return contactinformation to the mobile device 201 about the contact records in theglobal address book 134 and/or contact database 140 which match thetelephone number 406. The comparison may be based on one or more of thetelephone fields of the contact records.

In some embodiments, the remote contact sources (i.e., the globaladdress book 134 and/or contact database 140) may be used to supplement,verify or update contact information provided with the incoming call(e.g., in the radio layer) and/or personal address book 274. In someembodiments, when the name 408 is available from the radio layer and/orpersonal address book 274, the remote contact sources are accessed toobtain additional contact information about the caller which may bedisplayed in the extended contact information 410. In such embodiments,the remote lookup may be performed using one or both of the phone number406 and name 408. The types of missing information which triggers aremote lookup may be stored as a setting on the device 201 or wirelessconnector system 120.

In some embodiments, the additional contact information is obtained fromthe remote contact sources when one or more predetermined types ofextended contact information 410 are not provided with the incoming callor in the personal address book 274. For example, the additional contactinformation may be obtained when one or more predetermined fields of thecorresponding contact record in the personal address book 274 are empty.For example, if the contact record for the caller in the personaladdress book 274 does not include an email address, a lookup may beperformed on the global address book 134 and/or contact database 140 toobtain the email address from one of those resources, if available. Theoperations can be performed when any predetermined type of contactinformation is missing from the contact records in the personal addressbook 274.

As above, the returned contact information from a remote lookup may beadded to the personal address book 274 via respective user input.

It will be appreciated that performing a lookup of the global addressbook 134 or contact database 140 maintained by the directory service 138consumes battery power (via accessing the radio, etc.), memory andprocessing resources, and typically incurs data transmission charges.The above-described embodiments describe alternatives which reduce thenumber of lookups performed on the global address book 134 and using thedirectory service 138 by performing lookups on these external resourcesonly when the caller name is not provided with the incoming call (e.g.,in the radio layer) and is not present in the local personal addressbook 274. Reducing the number of lookups performed on the global addressbook 134 and/or contact database 140 of the directory service 138reduces the constraints imposed on device resources, but at the expenseof access to additional contact information.

In other embodiments, lookups may be automatically performed on theglobal address book 134 and/or contact database 140 of the directoryservice 138 for each incoming call. In yet other embodiments, lookupsettings on the mobile device 201 or the wireless connector system 120may by used by the lookup module 280 to determine whether to perform alookup on the global address book 134 and/or the contact database 140 ofthe directory service 138 for each incoming call, or whether lookups areto be performed only when the name 408 or other contact information isnot provided with the incoming call and is not present in the localpersonal address book 274.

Referring again to FIG. 4, the incoming call screen 402 also includes ananswer button 412 and ignore button 414. Highlighting and selecting theanswer button 412 via respective user input (e.g., highlighting via thenavigational tool and selecting the highlighted button by depressing theENTER key or depressing the navigational tool) or depressing an answerkey (not shown) of the mobile device 201 will answer the incoming call.Highlighting and selecting the ignore button 414 via respective userinput or depressing an ignore key (not shown) of the mobile device 201will ignore the incoming call.

In some embodiments, the incoming call information is added to a calllog in the form of a call record/entry. The call record comprises thetelephone number 406 and name 408, and possibly the extended contactinformation 410. The call record may be added when an incoming call isanswered, missed or ignored. In some embodiments, outgoing calls may beadded to the call log. The call records for outgoing calls may includethe same type of information as for incoming calls. The call records inthe call log, in at least some embodiments, expire after a predeterminedduration such as after 30 days from the date the call occurred or theincoming call was received. The call log expiry conserves local memoryon the mobile device 201. The predetermined duration is typically set sothat any important call information will be added by the user to thepersonal address book 274 within the predetermined duration.

FIG. 5 illustrates a call-in-progress user interface screen 502 for thephone application 270 on the mobile device 201 in accordance with oneembodiment of the present disclosure. The call-in-progress screen 502 isdisplayed when an incoming call is answered from the incoming callscreen 402. The call-in-progress screen 502 includes a notificationfield 503 which provides a notification that a call is in-progress andduration 505 of the call-in-progress. The call-in-progress screen 502also includes a call information field 506 which includes a telephonenumber 406 (1-999-555-1234 in the shown screen) and a name 408 (HeatherBarron in the shown screen) associated with the call-in-progress.

The incoming phone number 406 and name 408 displayed in the callinformation field 506 of the call-in-progress screen 502 are the same asthat of the incoming call screen 402. In particular, the phone number406 is the number previously obtained from the radio layer, and the name408 is the name previously obtained from the radio layer or determinedfrom the personal address book 274, global address book 134, or contactdatabase 140. Extended contact information 410 associated with therespective contact and incoming phone number 406 may be displayed in theincoming call screen 402 in some embodiments. The extended contactinformation 410 may be displayed even if not previously displayed in theincoming call screen 402. The extended contact information 410 may bedetermined prior to the call being answered even if this information isnot displayed in the incoming call screen 402. However, if the extendedcontact information 410 was not determined prior to the call beinganswered, it must be determined after the call is answered as describedabove if it is to be displayed in the call-in-progress screen 502.

It will be appreciated that other user interface elements may bedisplayed in the incoming call screen 402 and the call-in-progressscreen 502 in other embodiments. For example, while not shown, thecall-in-progress screen 502 may include a user interface elementproviding an indication of the current speaker volume and possibly auser interface element which provides the ability to adjust the speakervolume.

Referring now to FIG. 8, an example method of providing enhancedtelephone call information for an incoming call in accordance with oneexample embodiment of the present disclosure will be described.Operations 800 of the method are carried out by the processor 240 of themobile device 201 under the instruction of the phone application module270.

The phone application 270 receives an incoming call from a telephonenumber (step 802) of a calling phone which could be a landline or POTSphone, VOIP phone, wireless telephone or cellular telephone. Next, thephone application 270 determines whether caller ID blocking has beenapplied to the incoming call or other restrictions which prevent thephone application 270 from displaying the phone number and/or nameassociated with the incoming call (step 804). This step is typicallyperformed by analysing information contained in the radio layer as wouldbe understood by persons skilled in the art. If caller ID blocking hasbeen applied to the incoming call or other restrictions which preventthe phone application 270, the operations 800 end. Otherwise, theoperations continue to step 806.

Next, the phone application 270 determines whether a name is associatedwith the incoming call (step 806), typically by analysing informationcontained in the radio layer as would be understood by persons skilledin the art. If no name is associated with the incoming call, operationsproceed to step 808. If a name is associated with the incoming call, theoperations 800 end. In other embodiments, depending on predeterminedsettings applied by the phone application 270, typically stored inmemory on the mobile device 201 or wireless connector system 120,operations 800 may proceed to step 806 where the name provided with theincoming call is to be replaced with, or supplemented by, contactinformation from other sources (optional step 805).

Next, a lookup operation of the local address book 274 is performed(step 808) to determine the name and optionally extended contactinformation.

Next, if the local address book 274 does not contact a contact recordwhich matches the incoming phone number (or name in some embodiments,e.g., when the operations 800 proceed via step 805), a lookup operationof the remote contact sources (i.e., the global address book 134 and/orcontact database 140) is performed (step 810) to determine the name andoptionally extended contact information. As described, this stepcomprises the processor 240 instructing the messaging server 132 and/ordirectory service 138 to perform a lookup of the respective contactinformation stores. The instructions include at least the incoming phonenumber and possibly the name. Next, the remote contact sources perform alookup operation using the incoming phone number and possibly the nameas search terms. The remote contact sources then determine which contactrecords match the incoming phone number and possibly the name. Next,contact information from contact records in the global address bookand/or contact database 140 which match the search criteria are returnedto the mobile device 201. If contact information is available from morethan one source, rules defining which contact information is to be usedare applied by the processor 240.

One or more rules may be defined to resolve conflicts where contactinformation from more than one contact source exists. The rules maydefine: (i) a preference associated with the contact sources (e.g.,personal address book, information provided with the incoming call, andremote contact sources in decreasing order of preference), (ii) thecontact information from the contact record having the mostrecent/up-to-date contact information is to be used (which may, forexample, be determined by comparing respective dates associated with thecreation/revision/modification of the respective contact records), or(iii) the contact record having the most contact information is to beused. The rules for resolving conflicts are typically stored in thememory 244 of the mobile device 201.

In some embodiments, if there is any ambiguity as to which contactinformation should be used (e.g., for example, which contact informationis the most recent), a window or dialog box may be displayed on thedisplay screen 204 which prompts the user to confirm via correspondinginput which contact information should be used (e.g., which contactinformation is the correct information or most up-to-date). The defaultmay be that the closest match is displayed (based on name comparison) orthat the most commonly used (based on a usage log maintained by themobile device) is displayed. A preference setting may also be providedfor the user to specify his or her preferences.

Next, the caller information (i.e., contact information) is displayed inan incoming call screen 402 on the display screen 402 (step 812). If thecall is answered, the caller information is displayed in acall-in-progress screen 502 on the display screen 402 (step 815). Inother embodiments, the caller information is displayed only in thecall-in-progress screen 502.

Next, the caller information is optionally added to the call log (step816). The caller information may be added to the call log regardless ofwhether the call is answered in some embodiments. This step is optionaland need not be performed in all embodiments.

Next, the caller information is optionally added to the personal addressbook (step 818), typically in response to corresponding user input, suchas causing a phone application menu to appear and selecting a menu itemrequesting the mobile device to add the contact to the personal addressbook 274. This step is optional and need not be performed in allembodiments.

It will be appreciated that the operations 800 are performedautomatically by the processor 240 without any user input, with thepossible exception of step 818 which may require user input to add thecaller information to the personal address book 274 in some embodiments.However, input from settings may be used in determining whether some ofthe steps in the operations 800 are determined for a particular incomingcall.

FIG. 6 illustrates an email message composition user interface screen602 for the email application 272 for the mobile device 201 inaccordance with one embodiment of the present disclosure. The userinterface screen 602 includes an address portion 604 including a “To”address field, “CC” address field and “Subject” field. A “BCC” addressfield (not shown) could also be included in other embodiments. Theoperation and use of such fields is known in the art and will not bedescribed herein. The user interface screen 602 also includes a messagebody portion 608 for entry of a message. The user interface screen 602is provided with a text cursor 323 which is navigable within and betweenthe respective fields of the address portion 604, and between theaddress portion 604 and message body portion 608.

When one of the address fields is active, i.e. when one of the “To” “CC”or “BCC” fields is active, entry of an input causes the processor 240 toperform a local lookup operation of the input in the respective field tocontact records in the personal address book 274 to determine if theinput matches any contacts records. The lookup operation comprisescomparing the input to one or more fields of the contact records.Typically, the fields used in comparison comprise at least the namefield but may also comprise one or more of the company/organizationfield, title/department field, email address field or other text fieldsof the contact records in the personal address book 274. Typically, theresults of the lookup operation are displayed in a pop-up window 606adjacent to the address field which overlays a portion of the userinterface screen 602. In other embodiments, the results could beintegrated within the user interface screen 602 rather than displayed ina pop-up window 606.

The pop-up window 606 is populated with a list of contact names of thecontact records which match the input in the address field. Additionalinformation may be included with the name in some embodiments. Theadditional information may comprise an organization/business, a locationassociated with the contact record such as a street address, city, orcity and state. In other embodiments, the pop-up window 606 may bepopulated with a list of email addresses of the contact records whichmatch the input in the address field. The type and nature of thedisplayed information in the pop-up window 606 may be determined inaccordance with predetermined settings.

The pop-up window 606 may also include a lookup field 610 similar to thelookup field 328. Alternatively, the lookup field 610 may be invokedfrom the screen 602, for example from the address field, by causing anemail application menu to appear and selecting a corresponding menu itemrequesting the lookup field 610 to be displayed.

When activated/selected, for example in the manner described above inconnection with the lookup field 328, the lookup field 610 performs alookup on the global address book 134 and/or contact database 140 of thedirectory service 138 to find contact records which match the input inthe address field. Upon receiving input to perform a lookup, theprocessor 240 instructs the messaging service 132 and/or directoryservice 138 and requests the lookup field input be compared to thecontact records in the global address book 134 and/or contact database140 as the case may be, determines which contact records match thelookup field input, and returns contact information to the mobile device201 about the contact records that match the lookup field input. Thecomparison may be based on one or more of the fields of the contactrecords in the global address book 134 and/or contact database 140. Thecomparison is typically based on at least the name field of the contactrecords, but could also be performed on other fields of the contactrecords such as organization.

Referring now to FIG. 9, an example method of providing enhanced emailinformation in accordance with one example embodiment of the presentdisclosure will be described. Operations 900 of the method are carriedout by the processor 240 of the mobile device 201 under the instructionof the email application module 272. The message composition screen 602shown above is the default screen of the email application 272.

In the first step 902, the email application 272 receives an input in anaddress field (e.g., To, CC or BCC field) in the address portion 604 ofthe screen 602 via respective input via one or more input devices. Next,the processor 240 performs a local lookup operation of the personaladdress book 274 (step 904) using the input in the address field as thesearch term. The contact information about contact records in thepersonal address book 274 which match the search term are then displayedin a pop-up window 606 (step 906), or possibly within the address field(for example, if there is only one matching record).

Next, the email application 272 receives an input request to perform aremote lookup operation on the input of the address field 328 (step906). Optionally, in some embodiments, if the mobile device 201 has aGPS subsystem the mobile device 201 determines its current locationusing the GPS subsystem (step 908).

Next, a lookup operation of the remote contact sources (i.e., the globaladdress book 134 and/or contact database 140) is performed (step 910).As described, this step comprises the processor 240 instructing themessaging server 132 and/or directory service 138 to perform a lookup ofthe respective contact information stores. The instructions include atleast the input in the lookup field 610 as the basis for thesearch/lookup. If the mobile device 201 has a GPS subsystem and themobile device 201 determined its current location using the GPSsubsystem in step 908, the instructions also include the locationinformation. Other sources of location information such as triangulationvia base stations 108 or location services may be used in otherembodiments.

Next, the remote contact sources, i.e. the messaging server 132 and/ordirectory service 138, perform a lookup operation using the lookup fieldinput and optionally location information as search terms. The remotecontact sources then determine which contact records match the lookupfield input and optionally location information. Next, contactinformation from contact records in the global address book and/orcontact database 140 which match the search criteria are returned to themobile device 201. The returned contact information is then displayed inthe pop-up window 606 or possibly address field. The returned contactinformation may be displayed with the contact names of contact recordsfrom the personal address book 274 (step 912) which match the input inthe address field. If contact information is available from more thanone source, rules defining which contact information is to be used areapplied by the processor 240.

The user can then add further contacts in one or more address fields,add a subject in the subject field, and add a message body in the bodyportion 608 in the normal way. Further contact names can be looked up inthe same manner as described above. After the completion of the messagecomposition, the device user can send the message to the selectedrecipients (contacts) specified in the address field(s) using thewireless network 101 in the normal way. The device user could also atany time select to save the message as a draft (in at least someembodiments), or possibly cancel the message composition and discard theinput data and any contact information which was obtained from thelookup operations.

Next, the contact information is optionally added to the personaladdress book 274 (step 914), typically in response to corresponding userinput, such as causing an email application menu to appear and selectinga menu item requesting the mobile device to add the contact to thepersonal address book 274. This step is optional and need not beperformed in all embodiments.

It will be appreciated that in the operations 900 contact information isonly returned to the email application 272 when an email address isdefined for a contact record regardless of whether other contactinformation such as the contact name matches the search terms used inthe lookup. This applies to both local lookup operations and remotelookup operations.

While the operations 700, 800 and 900 have been described as occurringin a particular order, it will be appreciated to persons skilled in theart that some of the steps may be performed in a different orderprovided that the result of the changed order of any given step will notprevent or impair the occurrence of subsequent steps. For example, thecontact information may be added to the personal address book 274 at anytime after it has been returned to the mobile device 201. Furthermore,some of the steps described above may be combined in other embodiments,and some of the steps described above may be separated into a number ofsub-steps in other embodiments.

While the operations 700, 800 and 900 have been described as beingperformed by the phone application 270 or email application 272, theintegrated lookup field described herein can be applied to the contactinput field of any communication application (e.g., any voice ortext-based communication). For example, the integrated lookup fieldcould be used for text messaging (e.g., SMS or MMS), instant messaging(IM), and chats or conversations, or in the contact input/edit fields ofthe personal address book 274. Accordingly, the present disclosure alsoprovides a method of providing enhanced contact information on anelectronic device, comprising: displaying a user interface screen of anapplication on a display screen of the electronic device, the userinterface screen including a contact input field; receiving input viathe contact input field; determining if a contact name in an addressbook stored in a memory of the device matches the input in the contactinput field; determining if a contact name in a remote contact sourcematches the input in the contact input field; and displaying one or morecontact names which match the input in the user interface screen.

The electronic device may be a mobile communication device such as ahandheld communication device. The user interface screen may be for acommunication application which, in some embodiments, could be a textmessaging application for sending SMS, MMS or other text messages, an IMapplication, chat application, or a personal address book. In someembodiments, the input in the contact input field is comparedautomatically to the personal address book and/or the remote contactsource to identify any matching contacts without user input. In someembodiments, the input in the contact input field is comparedautomatically to the personal address book without user input; however,corresponding input is required to compare the input in the contactinput field to the remote contact source to identify any matchingcontacts.

In some embodiments, the application is an email messaging application,the user interface screen being an email composition user interfacescreen and the contact input field being the address field of the emailcomposition user interface screen, wherein the remote contact source isonly checked to determine if any contact names match the input in thecontact input field in response to respective input. In someembodiments, the identified contact names are displayed together in apop-up window which overlays at least a portion of the email compositionuser interface. In some embodiments, the remote contact source is adirectory service. In some embodiments, two or more remote contactsources are searched, the remote contact sources comprising (i) a globaladdress book of a messaging server of a wireless connector systemassociated with the device and (ii) a directory service.

While the operations 700, 800 and 900 have been described as beingperformed by the phone application 270 or email application 272, thelocal aspects of the lookup operations of these methods may be performedby a separate lookup module (not shown) stored in memory of the device201 while the other aspects of the method may be performed by the phoneapplication 270 or email application 272, as the case may be. The lookupmodule may be part of the operating system 223 in some embodiments.Moreover, a single lookup module may be used by the operations 700, 800and 900 in some embodiments; in particular, a single lookup module maybe used by both the phone application 270 and email application 272. Insuch embodiments, the lookup module provides centralized lookupcapabilities for contact information for the mobile device 201. This mayincrease computational efficiency by reducing the processing required bythe device 201, at least in part, by delegating responsibilities toaspects of the device software which are below the application level,such as to the operating system 223.

While reference has been to example user interface screens, it will beappreciated that additional fields and content may be added to theillustrated and described user interface screens in other embodiments ofthe present disclosure. Such modifications are intended to be within thescope of the present disclosure.

While directory services such as forward and reverse lookup services areknown, these services have not been integrated with the functionality ofa phone application to provide enhanced telephone call information, oran email application to provide enhanced email information. Known priorart solutions require the user to exit the respective application, openan Internet browser, access a directory service by the browser, searchfor the desired contact information, review the search results anddetermine which records are relevant, record the relevant contactinformation or commit it to memory (which could be contact informationfor more than one individual or business), and re-open the application,and then enter the information in the respective phone or emailapplication. This solution is time consuming and requires many moresteps and much more processing by the processor of the mobile device. Inaddition, this solution requires the user to record the relevant contactinformation (typically on paper) or commit it to memory. This causesinconvenience on the part of the user and creates the possibility thatthe contact information may be lost, forgotten, or improperly recorded.Further still, this solution does not present the user with any optionto identity a user of an incoming call.

While some mobile devices, such as GSM and CDMA enabled mobile phones,can send name information with incoming calls, this feature is a “payservice” which has an associated fee charged by the respective wirelessand landline carriers of the incoming telephone number. The presentdisclosure provides a solution which can be used with all wireless voicenetworks as the contact information is obtained by accessing contactresources available over a wireless data network rather than relying oninformation contained in the radio layer (which may be missing,incorrect or incomplete), and which may be used to verify and/orsupplement the information which is available via the radio layer andpersonal address book.

While the present disclosure is primarily described in terms of methods,a person of ordinary skill in the art will understand that the presentdisclosure is also directed to various apparatus such as a handheldelectronic device including components for performing at least some ofthe aspects and features of the described methods, be it by way ofhardware components, software or any combination of the two, or in anyother manner. Moreover, an article of manufacture for use with theapparatus, such as a pre-recorded storage device or other similarcomputer readable medium including program instructions recordedthereon, or a computer data signal carrying computer readable programinstructions may direct an apparatus to facilitate the practice of thedescribed methods. It is understood that such apparatus, articles ofmanufacture, and computer data signals also come within the scope of thepresent disclosure.

The term “computer readable medium” as used herein means any mediumwhich can store instructions for use by or execution by a computer orother computing device including, but not limited to, a portablecomputer diskette, a hard disk drive (HDD), a random access memory(RAM), a read-only memory (ROM), an erasable programmable-read-onlymemory (EPROM) or flash memory, an optical disc such as a Compact Disc(CD), Digital Versatile Disc (DVD) or Blu-ray™ Disc, and a solid statestorage device (e.g., NAND flash or synchronous dynamic RAM (SDRAM)).

The various embodiments presented above are merely examples and are inno way meant to limit the scope of this disclosure. Variations of theinnovations described herein will be apparent to persons of ordinaryskill in the art, such variations being within the intended scope of thepresent application. In particular, features from one or more of theabove-described embodiments may be selected to create alternativeembodiments comprised of a sub-combination of features which may not beexplicitly described above. In addition, features from one or more ofthe above-described embodiments may be selected and combined to createalternative embodiments comprised of a combination of features which maynot be explicitly described above. Features suitable for suchcombinations and sub-combinations would be readily apparent to personsskilled in the art upon review of the present application as a whole.The subject matter described herein and in the recited claims intends tocover and embrace all suitable changes in technology.

The invention claimed is:
 1. A method of providing enhanced phone callinformation on a mobile communication device configured for voice anddata communications, comprising: receiving an incoming call on thedevice; identifying a contact name in an address book stored in a memoryof the device in accordance with a phone number associated with theincoming call when the contact name is not provided with the incomingcall; identifying a contact name in a remote contact source over awireless data network in accordance with a phone number associated withthe incoming call when the contact name is not provided with theincoming call and not found in the address book stored in a memory ofthe device; and displaying the identified contact name in a userinterface screen on a display screen of the device; wherein two or moreremote contact sources are searched when identifying a contact name notprovided with the incoming call and not found in the address book storedin the memory of the device, the remote contact sources comprising (i) aglobal address book of a messaging server associated with the device and(ii) a reverse lookup directory service.
 2. The method of claim 1,wherein when multiple contact names are identified in the remote contactsource, the displayed contact name is selected from the multiple contactnames in accordance with a predetermined rule.
 3. The method of claim 1,wherein the phone number associated with the incoming call is displayedin the user interface screen on the display screen with the contactname.
 4. The method of claim 1, wherein the user interface screen is anincoming call screen.
 5. The method of claim 1, further comprising:answering the incoming call in response to respective input; anddisplaying the contact name in a call-in-progress user interface screenon the display screen of the device.
 6. The method of claim 5, whereinthe phone number associated with the incoming call is displayed in thecall-in-progress user interface screen on the display screen with thecontact name.
 7. The method of claim 1, wherein the remote contactsource is a reverse lookup directory service.
 8. The method of claim 1,wherein the contact name is identified when use of the phone numberassociated with the incoming phone call is not restricted.
 9. The methodof claim 1, wherein when contact names are available from more than onecontact source, the displayed contact name is selected in accordancewith a predetermined rule for resolving conflicts.
 10. The method ofclaim 9, wherein the predetermined rule defines a preference associatedwith the more than one contact source.
 11. The method of claim 9,wherein the predetermined rule is to select the contact name from thecontact source having the most recent contact information.
 12. Themethod of claim 9, wherein the predetermined rule is to select thecontact name from the contact source having the most contactinformation.
 13. A method of providing enhanced phone call informationon a mobile communication device configured for voice and datacommunications, comprising: displaying a dialing user interface screenon a display screen of the device, the dialing screen including adialing field; receiving input via the dialing field; determining if acontact name in an address book stored in a memory of the device matchesthe input in the dialing field; determining over a wireless data networkif a contact name in a remote contact source matches the input in thedialing field in response to respective input; and displaying one ormore contact names which match the input in the dialing user interfacescreen.
 14. The method of claim 13, wherein the contact names aredisplayed together in a contact window of the dialing user interfacescreen.
 15. The method of claim 13, wherein the remote contact source isa directory service.
 16. The method of claim 13, wherein two or moreremote contact sources are searched, the remote contact sourcescomprising (i) a global address book of a messaging server of a wirelessconnector system associated with the device and (ii) a directoryservice.
 17. The method of claim 13, further comprising: selecting acontact from the dialing user interface screen in response to respectiveinput; initiating an outbound call to a telephone number associated withthe selected contact name from the dialing user interface screen inresponse to respective input; and displaying the contact name in acalling user interface screen on the display screen of the device. 18.The method of claim 17, wherein the phone number associated with theincoming call is displayed in the calling interface screen on thedisplay screen with the contact name.
 19. A method of providing enhancedcontact information on a mobile communication device, comprising:displaying a user interface screen of a text messaging application oremailing application on a display screen of the electronic device, theuser interface screen including a contact input field; receiving inputvia the contact input field; determining if a contact name in an addressbook stored in a memory of the device matches the input in the contactinput field; determining over a wireless data network if a contact namein a remote contact source matches the input in the contact input field;and displaying one or more contact names which match the input in theuser interface screen; wherein two or more remote contact sources aresearched when identifying a contact name not provided with the incomingcall and not found in the address book stored in the memory of thedevice, the remote contact sources comprising (i) a global address bookof a messaging server associated with the device and (ii) a reverselookup directory service.
 20. The method of claim 19, wherein theapplication is an email messaging application, the user interface screenbeing an email composition user interface screen and the contact inputfield being an address field of the email composition user interfacescreen, wherein the remote contact source is only checked to determineif any contact names match the input in the contact input field inresponse to respective input.
 21. The method of claim 20, wherein thecontact names are displayed together in a pop-up window which overlaysat least a portion of the email composition user interface.
 22. Themethod of claim 20, wherein the remote contact source is a directoryservice.
 23. The method of claim 20, wherein two or more remote contactsources are searched, the remote contact sources comprising (i) a globaladdress book of a messaging server of a wireless connector systemassociated with the device and (ii) a directory service.
 24. A mobilecommunication device, comprising: a controller for controlling theoperation of the device; a display screen connected to the controller; acommunication subsystem connected to the controller configured for dataand voice communication with a wireless network; one or more inputdevices connected to the controller; the controller being configured to:receive an incoming call on the device; identify accordance with a phonenumber associated with the incoming call when the contact name is notprovided with the incoming call; identify a contact name in a remotecontact source over a wireless data network in accordance with a phonenumber associated with the incoming call when the contact name is notprovided with the incoming call and not found in the address book storedin a memory of the device; and display the identified contact name in auser interface screen on the display screen of the device; wherein twoor more remote contact sources are searched when identifying a contactname not provided with the incoming call and not found in the addressbook stored in the memory of the device, the remote contact sourcescomprising (i) a global address book of a messaging server associatedwith the device and (ii) a reverse lookup directory service.